package com.jingdianjichi.subject.application.convert;

import com.jingdianjichi.subject.application.dto.SubjectCategoryDTO;
import com.jingdianjichi.subject.domain.entity.SubjectCategoryBO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

@Mapper
public interface SubjectCategoryDTOConverter {
    SubjectCategoryDTOConverter INSTANCE = Mappers.getMapper(SubjectCategoryDTOConverter.class);
    /**
     * DTO 转 BO（SubjectCategoryDTO → SubjectCategoryBO）
     * @param subjectCategoryDTO DTO对象（输入）
     * @return BO对象（输出）
     */
    SubjectCategoryBO convertBoToCategory(SubjectCategoryDTO subjectCategoryDTO);
    /**
     * BO 集合转 DTO 集合（List<SubjectCategoryBO> → List<SubjectCategoryDTO>）
     * @param subjectCategoryDTO BO集合（输入）
     * @return DTO集合（输出）
     */
    List<SubjectCategoryDTO> convertBoToCategoryDTOList(List<SubjectCategoryBO> subjectCategoryDTO);
    /**
     * BO 转 DTO（SubjectCategoryBO → SubjectCategoryDTO）
     * @param subjectCategoryDTO BO对象（输入）
     * @return DTO对象（输出）
     */

    SubjectCategoryBO converDTOToCategoryBO(SubjectCategoryDTO subjectCategoryDTO);

    SubjectCategoryDTO convertBoToCategoryDTO(SubjectCategoryBO subjectCategoryBO);
}
